/*
4、typescript中的类
4.1 类的定义
  // es5
  // function Preson (name) {
  //   this.name = name
  //   this.run = function () {
  //     console.log(this.name)
  //   }
  // }
  // var p = new Person('张三')
  // p.run()
4.2 继承

*/

// 1. ts中类的定义
// class Person {
//   name: string // 属性 前面省略了public关键词
//   constructor (n: string) { // 构造函数 实例化类的时候触发的方法
//     this.name = n
//   }
//   run (): void {
//     alert(this.name)
//   }
//   getName (): string {
//     return this.name
//   }
//   setName (name: string): void {
//     this.name = name
//   }
// }
// var p = new Person('张三')
// p.run()
// alert(p.getName())
// p.setName ('李四')
// alert(p.getName())

// 2. ts中实现继承 extends、super
/* class Person {
  name: string
  constructor(name: string) {
    this.name = name
  }
  run(): string {
    return `${this.name}在运动`
  }
}
var p = new Person('王五')
alert(p.run())
class Web extends Person {
  constructor(name: string) {
    super(name)
  }
}
var w = new Web('李四')
alert(w.run()) */

